Tuples¶

🎨 float¶

In [6]:
number = 3.1415
In [7]:
type(number)
Out[7]:
float
In [11]:
float('3.5')
Out[11]:
3.5
In [9]:
float('3.1415') * 2
Out[9]:
6.283

🎨 round¶

In [12]:
round(3.14159, 2)
Out[12]:
3.14
In [13]:
round(3.14159, 4)
Out[13]:
3.1416
In [14]:
apples = 7
people = 3
per_person = apples / people
print(f'Each person gets { per_person } apples')
Each person gets 2.3333333333333335 apples
🤨
In [17]:
apples = 7
people = 3
per_person = round(apples / people, 1)
print(f'Each person gets { per_person } apples')
Each person gets 2.3 apples

🎨 None¶

What is the value of a variable that doesn't have a value?

What does a function return when it doesn't return anything?

In [19]:
def no_return():
    print('This function doesn\'t return anything.')
    

value = no_return()

print(value)
This function doesn't return anything.
None
In [20]:
type(value)
Out[20]:
NoneType

None is what Python uses to communicate nothing.

It's what you use to indicate that you don't have any information.

In [23]:
thing = 8
print(thing == 8)
print(thing is None)
True
False
In [22]:
thing = None
thing is None
Out[22]:
True

To determine whether a variable is None, use the is None expression.

In [24]:
thing = 9
thing is not None
Out[24]:
True

To determine whether a variable is not None, use the is not None expression.

🎨 tuple¶

In [25]:
info = ('Gordon', 'Bean', 39)
In [26]:
print(info)
('Gordon', 'Bean', 39)
In [27]:
type(info)
Out[27]:
tuple

A tuple is a collection of data, like a list.

A list stores a sequence of data that has the same role or quality.

  • e.g. Everyone's first name
    ['John', 'Mary', 'Susan', 'David']
    

A tuple stores distinct pieces of information that belong together as a larger unit.

  • e.g. The first name, last name, and age of a single person
    ('John', 'Doe', 21)
    
In [30]:
print(info)
('Gordon', 'Bean', 39)
In [29]:
first, last, age = info

print(f'{last}, {first} ({age})')
Bean, Gordon (39)

We access the pieces of a tuple using unpacking.

The first item in the tuple is assigned to the first variable, the second item to the second variable, etc.

🖌 Multiple Return¶

In [31]:
def get_number_pair():
    first = int(input('First number: '))
    second = int(input('Second number: '))
    return first, second
In [32]:
print('--First pair--')
a, b = get_number_pair()

print('--Second pair--')
x, y = get_number_pair()

if a + b > x + y:
    print('The first pair is bigger')
else:
    print('The first pair is NOT bigger')
--First pair--
First number: 6
Second number: 21
--Second pair--
First number: 200
Second number: -1000
The first pair is bigger

🖌 list of tuple¶

In [33]:
students = [
    # First name, last name, Hometown
    ('Sally', 'Hernandez', 'Nantucket'),
    ('Shawn', 'Wu', 'Provo'),
    ('Seth', 'de Souza', 'Carlsbad'),
    ('Sarah', 'Ulbrecht', 'Buffalo')
]
In [37]:
for first, last, home in students:
    print(f'{first} {last} is from {home}')
Sally Hernandez is from Nantucket
Shawn Wu is from Provo
Seth de Souza is from Carlsbad
Sarah Ulbrecht is from Buffalo
In [38]:
for student in students:
    first, last, home = student
    print(f'{first} {last} is from {home}')
Sally Hernandez is from Nantucket
Shawn Wu is from Provo
Seth de Souza is from Carlsbad
Sarah Ulbrecht is from Buffalo
In [39]:
for first, last, home in students:
    print(f'{first} {last} is from {home}')
Sally Hernandez is from Nantucket
Shawn Wu is from Provo
Seth de Souza is from Carlsbad
Sarah Ulbrecht is from Buffalo

registration.py¶

  • get_participant
    • Returns None to communicate "no person"
    • Returns a tuple of (first, last, age)
  • register_participants
    • If the participant is None, we're done adding participants
    • Delegates the logic of what information is required to get_participant
  • print_participants
    • Uses unpacking to get the first name, last name, and age of each participant (one at a time)

👩🏻‍🎨 meal_planner.py¶

Write a program that builds up a meal plan for several days.

An individual meal needs a grain, vegetable, and fruit.

Allow the user to plan out as many meals as they want.

Then print out the planned meals.

Plan a meal
Grain: rice
Vegetable: broccoli
Fruit: strawberry
Plan a meal
Grain: pasta
Vegetable: peas
Fruit: cranberry
Plan a meal
Grain: bread
Vegetable: carrots
Fruit: apples
Plan a meal
Grain: 

You planned 3 meals: Grain: rice, Veggie: broccoli, Fruit: strawberry Grain: pasta, Veggie: peas, Fruit: cranberry Grain: bread, Veggie: carrots, Fruit: apples

Key Ideas¶

  • None
  • tuple
  • Tuple unpacking
  • Multiple return
  • Lists of tuples